(0) Obligation:

Runtime Complexity TRS:
The TRS R consists of the following rules:

f(0) → 0
f(s(0)) → s(0)
f(s(s(x))) → p(h(g(x)))
g(0) → pair(s(0), s(0))
g(s(x)) → h(g(x))
h(x) → pair(+(p(x), q(x)), p(x))
p(pair(x, y)) → x
q(pair(x, y)) → y
+(x, 0) → x
+(x, s(y)) → s(+(x, y))
f(s(s(x))) → +(p(g(x)), q(g(x)))
g(s(x)) → pair(+(p(g(x)), q(g(x))), p(g(x)))

Rewrite Strategy: FULL

(1) CpxTrsToCpxRelTrsProof (BOTH BOUNDS(ID, ID) transformation)

Transformed TRS to relative TRS where S is empty.

(2) Obligation:

Runtime Complexity Relative TRS:
The TRS R consists of the following rules:

f(0) → 0
f(s(0)) → s(0)
f(s(s(x))) → p(h(g(x)))
g(0) → pair(s(0), s(0))
g(s(x)) → h(g(x))
h(x) → pair(+(p(x), q(x)), p(x))
p(pair(x, y)) → x
q(pair(x, y)) → y
+(x, 0) → x
+(x, s(y)) → s(+(x, y))
f(s(s(x))) → +(p(g(x)), q(g(x)))
g(s(x)) → pair(+(p(g(x)), q(g(x))), p(g(x)))

S is empty.
Rewrite Strategy: FULL

(3) DecreasingLoopProof (EQUIVALENT transformation)

The following loop(s) give(s) rise to the lower bound Ω(2n):
The rewrite sequence
g(s(s(x5076_1))) →+ h(pair(+(p(g(x5076_1)), q(g(x5076_1))), p(g(x5076_1))))
gives rise to a decreasing loop by considering the right hand sides subterm at position [0,0,0,0].
The pumping substitution is [x5076_1 / s(s(x5076_1))].
The result substitution is [ ].

The rewrite sequence
g(s(s(x5076_1))) →+ h(pair(+(p(g(x5076_1)), q(g(x5076_1))), p(g(x5076_1))))
gives rise to a decreasing loop by considering the right hand sides subterm at position [0,0,1,0].
The pumping substitution is [x5076_1 / s(s(x5076_1))].
The result substitution is [ ].

(4) BOUNDS(2^n, INF)